package br.com.expositor.apresentacao.infra.imp.model;

import java.util.Iterator;

import org.apache.wicket.extensions.markup.html.repeater.util.SortableDataProvider;
import org.apache.wicket.model.CompoundPropertyModel;
import org.apache.wicket.model.IModel;

import br.com.expositor.negocios.infra.entidade.IEntidade;

public abstract class ExpositorDataProvider<ENTIDADE extends IEntidade> extends
		SortableDataProvider<ENTIDADE> {

	private static final long serialVersionUID = -8598546433395127690L;

	public abstract Iterator<? extends ENTIDADE> iterator(int first, int count);

	public IModel<ENTIDADE> model(ENTIDADE object) {
		return new CompoundPropertyModel<ENTIDADE>(object);
	}

	public abstract int size();

}
